package com.zx.zxpicture.infrstructure.api.imgSearchimg;


import com.zx.zxpicture.infrstructure.api.imgSearchimg.model.ImageSearchResult;
import lombok.extern.slf4j.Slf4j;

import java.util.List;

/**
 * 以图搜图接口（采用了门面模式）
 * 门面模式：将要调用的所有接口全部整合到一个类中，并将这个接口暴露出去，这样，用户只能调用这一个接口就能自动访问到所有的接口。
 * 这样就不需要用户一个一个的去分别调用这些接口了
 */
@Slf4j
public class ImageSearchApiFacade {

    /**
     * 搜索图片
     *
     * @param imageUrl 图片url
     * @return 返回以图搜图的结果图片列表
     */
    public static List<ImageSearchResult> searchImage(String imageUrl) {
        String imagePageUrlApi = GetImagePageUrlApi.getImagePageUrlApi(imageUrl);
        List<ImageSearchResult> imageList = GetImageList.getImageList(imagePageUrlApi);
        return imageList;
    }

    public static void main(String[] args) {
        // 测试以图搜图功能
        String imageUrl = "https://www.codefather.cn/logo.png";
        List<ImageSearchResult> resultList = searchImage(imageUrl);
        System.out.println("结果列表" + resultList);
    }
}

